package cn.iocoder.yudao.module.robot.dal.mysql.callrecord;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.robot.dal.dataobject.callrecord.RobotCallRecordDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.robot.controller.admin.callrecord.vo.*;

/**
 * 机器人通话记录 Mapper
 *
 * @author 数创万维
 */
@Mapper
public interface RobotCallRecordMapper extends BaseMapperX<RobotCallRecordDO> {

    default PageResult<RobotCallRecordDO> selectPage(CallRecordPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<RobotCallRecordDO>()
                .eqIfPresent(RobotCallRecordDO::getDuration, reqVO.getDuration())
                .betweenIfPresent(RobotCallRecordDO::getDialTime, reqVO.getDialTime())
                .eqIfPresent(RobotCallRecordDO::getRecordPath, reqVO.getRecordPath())
                .eqIfPresent(RobotCallRecordDO::getRobotCallRecordId, reqVO.getRobotCallRecordId())
                .betweenIfPresent(RobotCallRecordDO::getCreateTime, reqVO.getCreateTime())
                .eqIfPresent(RobotCallRecordDO::getMobile, reqVO.getMobile())
                .eqIfPresent(RobotCallRecordDO::getTaskId, reqVO.getTaskId())
                .orderByDesc(RobotCallRecordDO::getId));
    }

}